package com.cjm.algorithm.array;

public class MinSubArrayLen209 {
    public int minSubArrayLen(int target, int[] nums) {
        int result = Integer.MAX_VALUE;
        int sum = 0, i = 0, subLength = 0;
        for (int j = 0; j < nums.length; j++) {
            // 这里的意思就是一直加
            sum += nums[j];
            // 直到加到了这个和大于目标值
            while (sum >= target) {
                // 先得到一个长度最小值
                subLength = (j - i + 1);
                // 对比一下呀
                result = Math.min(result, subLength);
                // 将左边的元素给删除掉
                sum -= nums[i++];
            }
        }
        // 得到结果
        return result == Integer.MAX_VALUE ? 0 : result;
    }
}
